package com.lwl.blog.system.controller;

import com.lwl.blog.core.utils.R;
import com.lwl.blog.system.service.impl.SysLoginSerivce;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

/**
 * <p>
 * 系统管理员登录方法
 * </p>
 *
 * @author lwl
 * @since 22-12-26
 */

@RestController
public class SysLoginController {

    //注入loginserivce层
    @Autowired
    private SysLoginSerivce sysLoginService;

    //登录方法
    @PostMapping("/login")// 把前端传递的JSON数据全部的转入到Map中
    public R login(@RequestBody Map<String, String> param) {

        //1.获取用户登录的信息
        String username = param.get("username");
        String password = param.get("password");

        //2.判断是否为空
        if (ObjectUtils.isEmpty(username)) {
            return R.error("用户名不能为空!");
        }

        if (ObjectUtils.isEmpty(password)) {
            return R.error("密码不能为空!");
        }

        //3.实现登录操作
        String token = sysLoginService.login(username, password);

        //4.将token（令牌）返回给客户端
        // 同时令牌对应的登录信息在redis中保存
        return R.ok().put("token",token);
    }


}
